/**
 * 返回标签数据
 */
const mdModel = require('../models/mdModel')

let arr = [
  'Python', 'Java', 'JavaScript', 'node', '前端', '后端', '数据库', '大数据', 'go', 'c', 'c++', '算法', '开发工具', '数据结构与算法', '云原生', '移动开发', '小程序', '操作系统', '搜索', '设计模式', '人工智能', '网络', '嵌入式', '硬件开发', 'PHP', '游戏', '开放平台', '微软技术', '软件工程', '测试', '云计算', '安全', '运维', '服务器', '产品/运营', '设计', '其他', '职场和发展'
]

function getLabels(query) {
  return new Promise((resolve, reject) => {
    mdModel.findOne({ user_id: query.user_id }, (err, suc) => {
      err ? reject(err) : resolve(suc)
    })
  }).then(suc => {
    let res = []
    for (let i = 0; i < arr.length; i++) {
      let obj = {
        label: arr[i],
        num: 0
      }

      if (suc !== null) {
        for (let j = 0; j < suc.user_md.length; j++) {
          let strArr = suc.user_md[j].label.split(',')
          if (strArr.indexOf(arr[i]) !== -1) {
            obj.num = obj.num + 1
          }
        }
      }

      res.push(obj)
    }

    return res
  })
}

module.exports = {
  getLabels
}